package com.telsoft.hms.function;


import java.util.List;

import com.telsoft.hms.data.GetNews_DATA;
import com.telsoft.hms.entity.ETT_NEWS;
import com.telsoft.hms.lib.security.session.Session;
import com.telsoft.hms.util.SessionUtil;

/**
 * @author MINHTQ 
 * ngày tạo : 07/10/2014
 */
public class HMS_GetNews {
	/**Hàm lấy danh sách tin tức theo ngôn ngữ và row để phân trang
	 * @author MinhTQ
	 * @param strSecurityKey mã bảo vệ để kết nối đến CSDL
	 * @param iStartRow điều kiện để phân trang
	 * @param iEndRow điều kiện để phân trang
	 * @return List<ETT_NEWS> List danh sách tin tức
	 * @throws Exception 
	 * Ngày tạo : 07/10/2014
	 */
	public List<ETT_NEWS> getAllNews(String strSecurityKey, int iStartRow,
			int iEndRow) throws Exception {
		String strHospitalKey = null;
		if (strSecurityKey.equals("")) {
			throw new Exception("ERR-0010");
		} else {
			// validate security key
			try {
				Session session = SessionUtil.getSession(strSecurityKey);
				strHospitalKey = session.getHospitalKey();
				if (!strHospitalKey.equals("")) {
					GetNews_DATA getInfo = new GetNews_DATA();
					return getInfo.getAllNews(session.getLanguageCode(),strHospitalKey, iStartRow,
							iEndRow);
				}
			} catch (Exception e) {
				throw e;
			}
		}
		return null;
	}
	
	/**Hàm Lấy ra danh sách ngôn ngữ khác của tin tức tương ứng
	 * @author MinhTQ
	 * @param strSecurityKey mã bảo vệ để kết nối đến CSDL
	 * @param iNewsId mã tin tức
	 * @return List<ETT_NEWS> List danh sách tin tức
	 * @throws Exception 
	 * Ngày tạo : 07/10/2014
	 */
	public List<ETT_NEWS> getListNewsLanguage(String strSecurityKey, int iNewsId) throws Exception {
		String strHospitalKey = null;
		if (strSecurityKey.equals("")) {
			throw new Exception("ERR-0010");
		} else {
			// validate security key
			try {
				Session session = SessionUtil.getSession(strSecurityKey);
				strHospitalKey = session.getHospitalKey();
				if (!strHospitalKey.equals("")) {
					GetNews_DATA getInfo = new GetNews_DATA();
					return getInfo.getListNewsLanguage(strHospitalKey, iNewsId, session.getLanguageCode());
				}
			} catch (Exception e) {
				throw e;
			}
		}
		return null;
	}	
}
